home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / edit / me_cd25.zip / BOBSMUTT.ZIP / SAVEBUFS.MUT < prev    next >
Text File  |  1992-05-11  |  2KB  |  105 lines

  1.   ;; After I had most of this written, I discovered some
  2.   ;; similar routines in Craig Durland's saveall.mut.
  3.   ;; $Source: c:/lib/mutt/RCS/savebufs.mut $
  4.   ;; $Revision: 1.2 $
  5.   ;; $Date: 1992/05/12 00:20:31 $
  6.   ;; Bob Stocker Public Domain
  7.  
  8. (bool save-backup-version)
  9.  
  10. (defun
  11.   MAIN
  12. {
  13.   (save-backup-version FALSE)
  14. }
  15. ;;
  16. ;; ================================================================
  17. ;; 
  18.   set-save-backup-version
  19. {
  20.   (save-backup-version TRUE)
  21.   (msg "save-backup-version = TRUE")
  22.   (novalue)
  23. }    
  24. ;;
  25. ;; ================================================================
  26. ;;
  27.   reset-save-backup-version
  28. {
  29.   (save-backup-version FALSE)
  30.   (msg "save-backup-version = FALSE")
  31.   (novalue)
  32. }    
  33. ;;
  34. ;; ================================================================
  35. ;;
  36.   save-some-buffers
  37.   ;; Ask about saving any modified non-scratch buffers.
  38. {                    ;; BEGIN save-buffers
  39.   (int bufid bufno nbufs)
  40.   (string bname fname)
  41.   (nbufs (buffers))
  42.   (for
  43.     (bufno 0)
  44.     (< bufno nbufs)
  45.     (+= bufno 1)
  46.   {                    ;; BEGIN buffer loop
  47.     (bufid (nth-buffer bufno))
  48.     (if
  49.       (==
  50.         (bit-and
  51.       (+ BFModified BFNoCare)
  52.       (buffer-flags bufid)
  53.         )
  54.         BFModified
  55.       )
  56.     {                    ;; BEGIN modified & we care
  57.       (fname (file-name bufid))
  58.       (bname (buffer-name bufid))
  59.       (if (== fname "")
  60.       {                    ;; BEGIN fname == ""
  61.     (if
  62.       (yesno "Buffer " bname " has been modified.  Save it")
  63.         {                ;; BEGIN save
  64.       (ask-user)
  65.       (current-buffer bufid)
  66.       (fname (ask "File name: "))
  67.       (while 
  68.         (not (write-file fname))
  69.       {                ;; BEGIN can't write to file
  70.         (msg "Can not write to file \"" fname "\".")
  71.         (halt)
  72.       }                ;; END   can't write to file
  73.       )
  74.     }                ;; END   save
  75.     )
  76.       }                    ;; END     fname == ""
  77.       {                    ;; BEGIN fname != ""
  78.     (if
  79.       (yesno "Save buffer " bname " to " fname)
  80.     {                ;; BEGIN save
  81.       (current-buffer bufid)
  82.       (if save-backup-version
  83.         (save-buffer-with-backup)
  84.         (save-buffer)
  85.       )
  86.     }                ;; END   save
  87.     )
  88.       }                    ;; END   fname != ""
  89.       )
  90.       (ask-user)
  91.     }                    ;; END   modified & we care
  92.     )
  93.   }                    ;; END   buffer loop
  94.   )
  95. }                    ;; END   save-buffers
  96. ;;
  97. ;; ================================================================
  98. ;;
  99. save-buffers-and-exit
  100. {                    ;; BEGIN save-buffers-and-exit
  101.   (save-some-buffers)
  102.   (exit)
  103. }                    ;; END   save-buffers-and-exit
  104. )
  105.